1. Field of the Invention
The invention relates to data communications and, in particular, to a software implementation of a modem that can operate on a general purpose computer having a non-real-time, multi-tasking operating environment.
2. Discussion of Related Art
Modern modems are used to connect PCs, or other data terminal equipment (DTE), into wide area communication networks, in which the telephone system is used to carry information from one PC to another. Over the years many communication standards have been developed, enabling a standards-compliant modem made by one manufacturer to communicate with a standards-compliant modem made by another manufacturer. These protocols specify various aspects of a communication protocol, such as signal constellations and coding methods to be used under the standard.
To date, modems have been typically implemented with special circuitry, or programmable digital signal processors (DSPs). Under a typical arrangement, a microprocessor and a DSP would effectively cooperate in a master-slave relationship. The microprocessor would act as a "controller," handling the control functions, such as configuring the system and the like, and the DSP would essentially act as a dedicated computation engine to handle the signal processing aspects.
The above typical arrangement would operate in a "real-time" context. That is, both the microprocessor and the DSP would be dedicated to running the modem controller and DSP software, respectively. A real-time context provides deterministic behavior, and deterministic behavior, in turn, is desirable in the modem context, because modem data streams are continuous and arrive at fixed rates.
Though the above arrangements have been well received in the marketplace, the DSP and other dedicated hardware involve component costs. Moreover, they add to the associated manufacturing, distribution and maintenance costs and affect reliability of the overall system.